perm filename ROB.CNV[P,JRA] blob sn#048374 filedate 1973-06-07 generic text, type T, neo UTF8
00100	(CDEFUN ACHIEVE(G C FAIL)
00200	:PRO(CSETQ CONTEXT(PUSH-CONTEXT))
00300	
00400	:A(TRY-NEXT G '(GO FAIL))
00500	CONTEXT)
     

00100	(ADD (IF-NEEDED STEP-UP (ON !?(X(ROBOT !,X)) !?(Z(BOX !,Z)))
00200	"AUX"((CS CONTEXT) C1 Z1 Z2 Y)
00300	(REMOVE 'STEP-UP)
00400	(CSETQ Z1(FETCH !"(ON !;X !>Y)))
00500	:L(CSETQ C1(ACHIEVE Z1 CS 'ENDA))
00600	(CSETQ Z2(FETCH !"(STACKED ,Z ,Y)))
00700	(CSETQ CONTEXT(ACHIEVE Z2 C1 'L))
00800	(PRINT !"(STEP_UP ,X ,Y ,Z))
00900	(ADD !"(ON ,X ,Z))
01000	(AU-REVOIR(INSTANCE)) 
01100	:ENDA(CSETQ CONTEXT CS)(ADIEU)
01200	)
01300	)
     

00100	(ADD (IF-NEEDED CLIMB(ONTOP !>(X(ROBOT !,X)))
00200	"AUX"((CS CONTEXT) C1 C2 C3 C4 Z1 Z2 Z3 Z4 Z5 V W Y Z)
00300	(CSETQ Z1(FETCH !"(ON ,X !>Y)))
00400	:L(CSETQ C1(ACHIEVE Z1 CS 'ENDA))
00500	(CSETQ Z2(FETCH !"(STACKED !>V ,Y)))
00600	:M(CSETQ C2 (ACHIEVE Z2 C1 'L))
00700	(CSETQ Z3(FETCH !"(ON ,X ,V)))
00800	:N(CSETQ C3(ACHIEVE Z3 C2 'M))
00900	(CSETQ Z4(FETCH !"(ON ,X !>Z)))
01000	:O(CSETQ C4(ACHIEVE Z4 C3 'N))
01100	(CSETQ Z5(FETCH !"(STACKED !>W ,Z)))
01200	(CSETQ CONTEXT(ACHIEVE Z5 C4 'O))
01300	(ADD !"(ONTOP ,X))
01400	(PRINT !"(ONTOP ,X))
01500	(AU-REVOIR(INSTANCE))
01600	:ENDA(CSETQ CONTEXT CS)(ADIEU))
01700	)
     

00100	(ADD(IF-NEEDED STAND-ON(ON !?(X(ROBOT !,X)) !?(Z(BOX !,Z)))
00200	   "AUX"((CS CONTEXT) C1 Z1 Z2 Y)
00400	(CSETQ Z1(FETCH !"(ATR !;X !>Y)))
00500	:L(CSETQ C1(ACHIEVE Z1 CS 'ENDA))
00700	(CSETQ Z2(FETCH !"(ATB !;Z ,Y)))
00800	(CSETQ CONTEXT(ACHIEVE Z2 C1 'L))
00900	(ADD !"(ON ,X ,Z))
01000	(PRINT !"(STAND-ON ,X ,Z))
01100	(AU-REVOIR(INSTANCE))
01200	:ENDA(CSETQ CONTEXT CS)(ADIEU)
01400	)
01500	)
01600	(DE ROBOT(X)(MEMQ X ROB))(DE BOX(X)(MEMQ X BOX))
01700	(SETQ ROB '(M))(SETQ BOX '(B1 B2 B3))
01800	(ADD '(ATB B1 L))(ADD '(STACKED B2 B1)) (ADD '(STACKED B3 B2))
01900	(ADD '(ATR M L))(CSETQ YY CONTEXT)(CSETQ Z(FETCH '(ON M B1)))(TRY-NEXT Z)
02000	(PRINT CONTEXT)(CSETQ CONTEXT YY)(CSETQ Z(FETCH '(ONTOP M)))
02100	(TRY-NEXT Z)
02200